<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="container">
        <button>按钮一</button>
        <button>按钮二</button>
        <button>按钮三</button>
        <div>111</div>
        <div>222</div>
        <div>333</div>
    </div>

    <div class="container2">
        <button>按钮一</button>
        <button>按钮二</button>
        <button>按钮三</button>
        <div>111</div>
        <div>222</div>
        <div>333</div>
    </div>

    <div class="container3">
        <button>按钮一</button>
        <button>按钮二</button>
        <button>按钮三</button>
        <div>111</div>
        <div>222</div>
        <div>333</div>
    </div>
    <script>
        // 需求三： 第二个选项卡有自动切换功能

        // 把所有共性问题 提取出来 ，放在类里 ，把特性问题 相关的逻辑 单独提取
        // function tab(btns, divs) {
        //     btns.forEach((btn, key) => {
        //         btn.onclick = function () {
        //             console.log("点击了按钮", key);
        //             // 需要把 索引和 按钮索引一样的显示出来 其他的隐藏 ；
        //             changeTab(key);
        //         }
        //     })

        //     // 可以根据key的值 改变 tab选项卡的位置
        //     function changeTab(key){
        //         divs.forEach((div, k) => {
        //                 if (key == k) {
        //                     //div 显示出来
        //                     div.style.display = "block";
        //                 } else {
        //                     div.style.display = "none";
        //                 }
        //             })
        //     }
        // }



        function Tab(btns, divs) {
            this.btns = btns;
            this.divs = divs;
            this.btns.forEach((btn, key) => {
                btn.onclick = () => {
                    console.log("点击了按钮", key);
                    // 需要把 索引和 按钮索引一样的显示出来 其他的隐藏 ；
                    this.changeTab(key);
                }
            })
        }

        Tab.prototype.changeTab = function (key) {
            this.divs.forEach((div, k) => {
                if (key == k) {
                    //div 显示出来
                    div.style.display = "block";
                } else {
                    div.style.display = "none";
                }
            })
        }





        // 第一个选项卡
        let btns = document.querySelectorAll(".container button");
        let divs = document.querySelectorAll(".container div");
        new Tab(btns, divs);

        // 第二个选项卡
        let btns2 = document.querySelectorAll(".container2 button");
        let divs2 = document.querySelectorAll(".container2 div");
        var tab2 =  new Tab(btns2, divs2);
        let key  = 0;
        setInterval(() => {
            tab2.changeTab(key);
            key++;
            if(key>2){
                key=0
            }
        }, 1000);

        // 第三个选项卡
        let btns3 = document.querySelectorAll(".container3 button");
        let divs3 = document.querySelectorAll(".container3 div");
        new Tab(btns3, divs3);



    </script>
</body>

</html>